home *** CD-ROM | disk | FTP | other *** search
/ PC Play 129 / pc play 129.iso / Demo / man2 / man2.exe / data / scripts / cruiser_effects_scripts / cruiser_shot_fly.lua < prev    next >
Encoding:
Text File  |  2006-02-27  |  5.2 KB  |  200 lines

  1.  
  2. function cruiser_shot_fly1()
  3.     local explosion = uniGetExecutor()
  4.     explosion:setTransformOwner()
  5.     local sound = explosion:play3DSound("Leviathan_missile_fire.wav",0):destroy()
  6.     local mshotsmoke = explosion:addSimpleEffect(ENET_EFFECT_PS_CRUISERSHOT_SMOKE)
  7.     waitDeath(explosion:forwardFly(uniGetTarget(),150))
  8.     uniGetTarget():executeCommand(ENC_DAMAGED)
  9.     mshotsmoke:suspendedDestroy(1.5)
  10.     local exp_ps = explosion:addSimpleEffect(ENET_EFFECT_PS_CRUISERSHOT_EXPLOSION2)
  11.     pause(0.0)
  12.     exp_ps:suspendedDestroy(2.5)
  13.     pause(1.5)
  14.     explosion:suspendedDestroy(2.0)
  15. end
  16.  
  17. function cruiser_shot_fly2()
  18.     local explosion = uniGetExecutor()
  19.     explosion:setTransformOwner()
  20.     local mshot1 = explosion:addSimpleEffect(ENET_EFFECT_PS_CRUISERSHOT_FLY)
  21.     local shotlight = explosion:addSimpleEffect(ENET_EFFECT_CRUISER_LIGHTSPOT2)
  22.     waitDeath(explosion:parabolicFly(uniGetTarget()))
  23.     uniGetTarget():executeCommand(ENC_DAMAGED)
  24.     mshot1:suspendedDestroy(4.0)
  25.     local exp_ps = explosion:addSimpleEffect(ENET_EFFECT_PS_CRUISERSHOT_EXPLOSION)
  26.     pause(1.0)
  27.     exp_ps:suspendedDestroy(1.5)
  28.     shotlight:destroy()
  29.     pause(1.5)
  30.     explosion:destroy()
  31. end
  32.  
  33. registerCommand(ENSCRIPTSET_CRUISERSHOT,ENC_FIRE1,"cruiser_shot_fly1")
  34. registerCommand(ENSCRIPTSET_CRUISERSHOT2,ENC_FIRE2,"cruiser_shot_fly2")
  35.  
  36. --
  37. -- dummy effect creation test
  38. --
  39. desc = getEffectDescriptionP(ENET_EFFECT_CRUISERSHOT_FLY)
  40. desc.ClassID = ENCLASS_DUMMY
  41. desc.EffectClassType = ENECT_GEOMETRY
  42.  
  43. desc.ScriptSet = ENSCRIPTSET_CRUISERSHOT
  44. desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
  45. local vzbzd1 = D3DXVECTOR3:new(0,0,0)
  46. desc.LocalPosition = vzbzd1
  47. vzbzd1:delete()
  48. desc.MoveType = ENMOVE_FLY
  49.  
  50. desc.ActivityType = ENACT_COMMANDSEMIACTIVE
  51. --
  52. -- end dummy effect creation test
  53. --
  54.  
  55.  
  56.  
  57. --
  58. -- dummy effect creation test
  59. --
  60. desc = getEffectDescriptionP(ENET_EFFECT_CRUISERSHOT_FLY2)
  61. desc.ClassID = ENCLASS_DUMMY
  62. desc.EffectClassType = ENECT_GEOMETRY
  63.  
  64. desc.ScriptSet = ENSCRIPTSET_CRUISERSHOT2
  65. desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
  66. local vzbzd2 = D3DXVECTOR3:new(0,0,0)
  67. desc.LocalPosition = vzbzd2
  68. vzbzd2:delete()
  69. desc.MoveType = ENMOVE_FLY
  70.  
  71. desc.ActivityType = ENACT_COMMANDSEMIACTIVE
  72. --
  73. -- end dummy effect creation test
  74. --
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81. --
  82. -- lightsource creation test
  83. --
  84. desc = getEffectDescriptionP(ENET_EFFECT_CRUISER_LIGHTSPOT)
  85. desc.ClassID = ENCLASS_LIGHTSOURCE
  86. desc.EffectClassType = ENECT_LIGHTSOURCE
  87.  
  88. desc.ScriptSet = ENSCRIPTSET_UNKNOWN
  89. desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
  90. local vzbzd3 = D3DXVECTOR3:new(0,0,0)
  91. desc.LocalPosition = vzbzd3
  92. vzbzd3:delete()
  93. desc.ActivityType = ENACT_SEMIACTIVE
  94.  
  95. -- add interpolators
  96. desc:clearInterpolators()
  97.  
  98. local interpolator = createInterpolator()
  99. interpolator:addKey(0.0,20.0)
  100. interpolator:addKey(0.2,100.0)
  101. interpolator:addKey(4.0,20.0)
  102. interpolator:finalize(false)
  103. -- add interpolator on light range
  104. desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_LIGHT_RANGE))
  105.  
  106. local interpolator = createInterpolator()
  107. interpolator:addKey(0.0,0.0)
  108. interpolator:addKey(0.2,1.0)
  109. interpolator:addKey(4.0,0.0)
  110. interpolator:finalize(false)
  111. -- add interpolator on R B colors
  112. desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_DIFFUSE_R))
  113.  
  114.  
  115. local interpolator = createInterpolator()
  116. interpolator:addKey(0.0,0.0)
  117. interpolator:addKey(0.2,0.4)
  118. interpolator:addKey(4.0,0.0)
  119. interpolator:finalize(false)
  120. -- add interpolator on R B colors
  121. desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_DIFFUSE_B))
  122.  
  123.  
  124. local interpolator = createInterpolator()
  125. interpolator:addKey(0.0,0.0)
  126. interpolator:addKey(0.2,0.6)
  127. interpolator:addKey(4.0,0.0)
  128. interpolator:finalize(false)
  129. -- add interpolator on R B colors
  130. desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_DIFFUSE_G))
  131.  
  132.  
  133. --
  134. -- end lightsource creation description
  135. --
  136.  
  137.  
  138.  
  139.  
  140.  
  141. --
  142. -- lightsource creation test
  143. --
  144. desc = getEffectDescriptionP(ENET_EFFECT_CRUISER_LIGHTSPOT2)
  145. desc.ClassID = ENCLASS_LIGHTSOURCE
  146. desc.EffectClassType = ENECT_LIGHTSOURCE
  147.  
  148. desc.ScriptSet = ENSCRIPTSET_UNKNOWN
  149. desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
  150. local vzbzd4 = D3DXVECTOR3:new(0,0,0)
  151. desc.LocalPosition = vzbzd4
  152. vzbzd4:delete()
  153. desc.ActivityType = ENACT_SEMIACTIVE
  154.  
  155. -- add interpolators
  156. desc:clearInterpolators()
  157.  
  158. local interpolator = createInterpolator()
  159. interpolator:addKey(0.0,20.0)
  160. interpolator:addKey(3.0,170.0)
  161. interpolator:addKey(5.0,20.0)
  162. interpolator:finalize(false)
  163. -- add interpolator on light range
  164. desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_LIGHT_RANGE))
  165.  
  166. local interpolator = createInterpolator()
  167. interpolator:addKey(0.0,0.1)
  168. interpolator:addKey(5.0,0.1)
  169. interpolator:finalize(false)
  170. -- add interpolator on R B colors
  171. desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_DIFFUSE_R))
  172.  
  173. local interpolator = createInterpolator()
  174. interpolator:addKey(0.0,0.4)
  175. interpolator:addKey(5.0,0.4)
  176. interpolator:finalize(false)
  177. -- add interpolator on R B colors
  178. desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_DIFFUSE_B))
  179.  
  180. local interpolator = createInterpolator()
  181. interpolator:addKey(0.0,0.25)
  182. interpolator:addKey(5.0,0.25)
  183. interpolator:finalize(false)
  184. -- add interpolator on R B colors
  185. desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_DIFFUSE_G))
  186.  
  187.  
  188.  
  189. --
  190. -- end lightsource creation description
  191. --
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.